package cn.edu.sziit.web;

import java.io.IOException;
import java.sql.Connection;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.edu.sziit.dao.GradeDao;
import cn.edu.sziit.model.Grade;
import cn.edu.sziit.model.PageBean;
import cn.edu.sziit.util.DbUtil;
import cn.edu.sziit.util.JsonUtil;
import cn.edu.sziit.util.ResponseUtil;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class GradeListServlet extends HttpServlet{
	DbUtil dbUtil=new DbUtil();
	GradeDao gradeDao=new GradeDao();

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	   this.doPost(request, response);
	   
	}

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String page=request.getParameter("page");
		String rows=request.getParameter("rows");
		String gradeName=request.getParameter("gradeName");
		//gradeName=new String(gradeName.getBytes("iso-8859-1"),"utf-8");
		if(gradeName==null){
			gradeName="";
		}
		Grade grade=new Grade();
		grade.setGradeName(gradeName);
		PageBean pageBean=new PageBean(Integer.parseInt(page),Integer.parseInt(rows));
        Connection con=null;
        try{
        	con =dbUtil.getCon();
        	JSONObject result=new JSONObject();
        	JSONArray jsonArray=JsonUtil.formatRsToJsonArray(gradeDao.gradeList(con, pageBean,grade));
            int total =gradeDao.gradeCount(con, grade);
            result.put("rows", jsonArray);
            result.put("total", total);
            
            ResponseUtil.write(response, result);
        }catch(Exception e){
        	e.printStackTrace();
        }finally{
        	try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }
	}
  
}
